package com.dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.beans.NombreJourConges;
import com.utils.HibernateUtils;

public class NombreJourCongesDao {

	public NombreJourCongesDao(){
		super();
	}
	public void addNbreJrCng(NombreJourConges nbreJrCng){
		Session session = HibernateUtils.currentSession();// ouverture d'une session

		Transaction tx = session.beginTransaction();// on ouvre une transaction

		session.save(nbreJrCng);

		tx.commit();

		HibernateUtils.closeSession();

	}
	public void deleteNbreJrCng(long nbreJrId){
		Session session = HibernateUtils.currentSession();// ouverture d'une session

		Transaction tx = session.beginTransaction();// on ouvre une transaction
		Query query=session.createQuery("from NombreJourConges where nbrJrCngId='"+nbreJrId+"'");
		List<NombreJourConges> listNbreJrCng=query.list();
		if (listNbreJrCng.size()>0)
			session.delete(listNbreJrCng.get(0));
		tx.commit();
	}
	public void modifierNbreJrCng(long nbrJr,long usrId){
		Session session = HibernateUtils.currentSession();// ouverture d'une session

		Transaction tx = session.beginTransaction();// on ouvre une transaction
		Query query=session.createQuery("from NombreJourConges where nbrJrCngUsrId='"+usrId+"'");
		List<NombreJourConges> listNbreJrCng=query.list();
		if (listNbreJrCng.size()>0){
			NombreJourConges nbrCng=listNbreJrCng.get(0);
			nbrCng.setNbrJrCngRest(nbrCng.getNbrJrCngRest()-nbrJr);
			session.update(nbrCng);
		}
		tx.commit();

	}
	public long nbreJrCngRest(long usrId){
		Session session = HibernateUtils.currentSession();// ouverture d'une session
		Query query=session.createQuery("from NombreJourConges where nbrJrCngUsrId='"+usrId+"'");
		List<NombreJourConges> listNbrJrCng=query.list();
		if(listNbrJrCng.size()>0){
			return listNbrJrCng.get(0).getNbrJrCngRest();
		}
		else
			return 0;
	}
}
